import config from '@/common/config.js' // 全局配置文件

const install = (Vue, vm) => {
	const obj = {
		invoke(args) {
			if (args.url.indexOf('http') !== 0) {
				args.url = config.BASE_URL + args.url
			}
			if (vm.vuex_token) {
				args.header[config.TOKEN_NAME] = config.TOKEN_PREFIX + vm.vuex_token
			}
		},
		fail(err) {
			uni.showToast({
				icon: 'error',
				title: '网络异常'
			})
		}
	}
	uni.addInterceptor('request', {
		success(args) {
			let res = args.data
			if (res.code === 401) {
				vm.$store.commit('$logout')
				return
			}
		},
		...obj
	})
	
	uni.addInterceptor('uploadFile', {
		success(args) {
			let res = args.data
			res = JSON.parse(res)
			if (res.code === 401) {
				vm.$store.commit('$logout')
				
				return
			}
		},
		...obj
	})
}

export default {
	install
}